package com.ruoyi.user.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.user.domain.AppUserAccount;
import com.ruoyi.user.domain.dto.AppUserAccountPageDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用户账号Mapper接口
 *
 * @author ghostmen
 * @date 2024-11-02
 */
public interface AppUserAccountMapper extends BaseMapper<AppUserAccount> {
    /**
     * 查询用户账号
     *
     * @param accountId 用户账号主键
     * @return 用户账号
     */
    public AppUserAccount selectAppUserAccountByAccountId(Long accountId);

    /**
     * 查询用户账号列表
     *
     * @param pageDTO 用户id
     * @return 用户账号集合
     */
    public List<AppUserAccount> selectAppUserAccountList(@Param("pageDTO") AppUserAccountPageDTO pageDTO);

    /**
     * 查询用户账号列表
     *
     * @param userId 用户id
     * @return 用户账号集合
     */
    public List<AppUserAccount> userAccountList(Long userId);

    /**
     * 新增用户账号
     *
     * @param appUserAccount 用户账号
     * @return 结果
     */
    public int insertAppUserAccount(AppUserAccount appUserAccount);

    /**
     * 修改用户账号
     *
     * @param appUserAccount 用户账号
     * @return 结果
     */
    public int updateAppUserAccount(AppUserAccount appUserAccount);

    /**
     * 删除用户账号
     *
     * @param accountId 用户账号主键
     * @return 结果
     */
    public int deleteAppUserAccountByAccountId(Long accountId);

    /**
     * 批量删除用户账号
     *
     * @param accountIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAppUserAccountByAccountIds(@Param("accountIds") Long[] accountIds);

    /**
     * 根据userId及账户id获取游戏账户明细
     *
     * @param userId
     * @param accountId
     * @return
     */
    public AppUserAccount getUserAccountByUserIdAndAccountId(@Param("userId") Long userId, @Param("accountId") Long accountId);
}
